package com.ngc.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ngc.mall.domain.SpuDomain;
import com.ngc.mall.dto.SpuDTO;
import com.ngc.mall.dto.SpuFilterDTO;
import com.ngc.mall.vo.PagingVO;
import com.ngc.mall.vo.SpuOverviewVO;
import com.ngc.mall.vo.SpuSimplifyVO;
import com.ngc.mall.vo.SpuVO;

import java.util.List;
public interface ISpuService extends IService<SpuDomain> {

    List<SpuDomain> selectAllSpu();

    Long createSpu(SpuDTO dto);

    Boolean updateSpuStatus(Boolean status,Long id);

    Boolean updateSpuById(Long id,SpuDTO dto);

    SpuVO getDetailById(Long id);

    PagingVO<SpuDomain> getPageList(int current, int size);

    SpuSimplifyVO getSimplifyById(Long id);

//    PagingVO<SpuDomain> getSpuListByCategoryId(Long categoryId,int current,int size);

    PagingVO<SpuDomain> getSpuListByCategoryId(List<Long> categoryIdList,int current,int size);

    SpuOverviewVO getSpuOverview();

    PagingVO<SpuDomain> findByTitleLikeAndSubTitleLike(String q,int start,int count);

    PagingVO<SpuDomain> search(SpuFilterDTO dto, int start, int count);
}
